package com.laolang.pluto.module.generator.gen;

import java.util.List;
import lombok.Data;

/**
 * @author laolang
 * @date 2021-08-05 03:31
 */
@Data
public class GenInfo {

    /**
     * 基本信息
     */
    private BaseInfoBean baseInfo;

    /**
     * 列信息
     */
    private List<ColumnInfoBean> columnInfoList;

    /**
     * 代码生成信息
     */
    private GenInfoBean genInfo;

    @Data
    public static class BaseInfoBean {
        /**
         * 表名称
         */
        private String tableName;

        /**
         * 表说明
         */
        private String tableComment;

        /**
         * 类名
         */
        private String className;

        /**
         * controller 路径
         */
        private String webUrl;

        /**
         * 作者
         */
        private String author;

        private String remark;
    }

    /**
     * 列信息
     */
    @Data
    public static class ColumnInfoBean {

        private Long id;

        /**
         * 列名称
         */
        private String columnName;

        /**
         * 列描述
         */
        private String columnComment;

        /**
         * 列类型
         */
        private String columnType;

        /**
         * java 类型
         */
        private String javaType;

        /**
         * java 字段名
         */
        private String javaField;
    }

    /**
     * 生成信息
     */
    @Data
    public static class GenInfoBean {

        /**
         * 包名
         * com.laolang.pluto.module.xxx
         */
        private String packageName;

        /**
         * 生成方式
         * <ul>
         *     <li>1:自定义路径</li>
         *     <li>2:压缩包</li>
         * </ul>
         */
        private Integer genType;
    }
}
